Настройте автоматическое распределение IP-адресов на роутере HQ-R

Задание:

3. Настройте автоматическое распределение IP-адресов на роутере HQ-R.

  • a. Учтите, что у сервера должен быть зарезервирован адрес.

Выполнение:

Настройка DHCP-сервера для IPv4:

HQ-R:

Установим пакет "dhcp-server":

apt-get update && apt-get install -y dhcp-server

Укажим сетевой интерефейс, через который будет работать DHCP-сервер:

  • /etc/sysconfig/dhcpd - для dhcpd.service

  • /etc/sysconfig/dhcpd6 - для dhcpd6.service

    • где: ens34 - интерфейс смотрящий в локальную сеть офиса HQ

Опишим конфигурационный файл для DHCP работабщего с IPv4:

  • файл с закоментированными примерами находится по пути"/etc/dhcp/dhcpd.conf.example"

cp /etc/dhcp/dhcpd.conf{.example,}
vim /etc/dhcp/dhcpd.conf
  • после удаления лишних строк из файла с шаблоном - конфигурационный файл выглядит следующим образом:

где:

  • default и max - leases-time - стандартное и максимальное время аренды (в секундах)

  • authoritative - только этот сервер можем выдавать IP адреса

  • блок subnet {} - сеть, маска сети и диапазон выдаваемых IP

  • блок host {}- чтобы выдать IP-адрес, исходя из MAC-адреса сетевого интерфейса для того, чей МАС-адрес описан в секции "hardware ethernet"

    • в данном случае MAC-адрес сетевого интерфейса ens33 на HQ-SRV, т.к. у сервера по заданию должен быть зарезервирован адрес

После чего пожно проверить данный конфигурационный файл через утилиту "dhcpd"

dhcpd -t -cf /etc/dhcp/dhcpd.conf
  • в случае ошибки в описании конфигурационного файла - в выводе данной утилиты будет написано что не так

Запускаем и добавляем в автозагрузку службу dhcpd (для IPv4):

systemctl enable --now dhcpd

Проверяем:

Проверим статус службы dhcpd:

systemctl status dhcpd
  • запускаем журнал и включаем или перезагружаем интерфейс на HQ-SRV:

journalctl -f -u dhcpd

Настройка DHCP-сервера для IPv6:

HQ-R:

Опишим конфигурационный файл для DHCP работабщего с IPv6:

  • аналогично IPv4 (dhcpd.conf) - в директории /etc/dhcp/ есть шаблон для dhcpd6.conf

cp /etc/dhcp/dhcpd6.conf{.sample,}
vim /etc/dhcp/dhcpd6.conf
  • после удаления лишних строк из файла с шаблоном - конфигурационный файл выглядит следующим образом:

  • для начала необходимо в конфигурационном файле не указывать блок "host {}" - т.к. он требует наличие "dhcp6.client-id", который можно получить только после запуска и получением клиентом хотябы какого-то адреса

  • option.dhcp6.preference 255; убирается знак комментария "#". Этот параметр отвечает за дополнительное ожидания адреса с других DHCP сереверов. В данном случает DHCP сервер всего один, поэтому ставится значение 255

Поэтому запускаем и добавляем в автозагрузку службу dhcpd6:

systemctl enable --now dhcpd6
  • После чего просматриваем журнал и ищем тот самый необходимый "DUID" для того, чтобы успешно зарезервировать IPv6 адрес для HQ-SRV:

  • Именно этот DUID и добавляется в host-identifier option при настройке HQ-R как DHCP сервера для IPv6:

  • после чего перезагрузить службу dhcpd6

systemctl restart dhcpd6

После этих манипуляций HQ-SRV получит IPv4 и IPv6 адрес автоматически.

  • средствами nmtui отключаем и включаем интерфейс ens33 и проверяем:

Но:

  • для IPv4 на HQ-SRV без проблем прилетит шлюз, т.к. это отвечает параметр option routers в настройках dhcpd.conf

  • Для IPv6 такого параметра нет, шлюзы IPv6 выдаются маршрутизаторами средствами RA (Router Advertisement)

Установка и настройка RA:

HQ-R:

  • установим пакет radvd:

apt-get install -y radvd
  • Следующий модуль отвечает за RA на интерфейсе ens34 (нужно для получения HQ-SRV верных параметров IPv6 автоматически):

echo net.ipv6.conf.ens34.accept_ra = 2 >> /etc/net/sysctl.conf; systemctl restart network
  • Файл конфигурации по умолчанию находится в /etc/radvd.conf:

vim /etc/radvd.conf
  • приводим его к следующему виду:

где:

  • AdvSendAdvert - Флаг, указывающий, отправляет ли маршрутизатор периодическую рекламу маршрутизатора и отвечает ли на запросы маршрутизатора

  • AdvManagedFlag - Когда этот параметр установлен, хосты используют управляемый протокол (с сохранением состояния) для автоматической настройки адресов в дополнение к любым адресам, автоматически сконфигурированным с помощью автоматической настройки адресов без сохранения состояния. Использование этого флага описано в RFC 2462

  • AdvOtherConfigFlag - Когда этот параметр установлен, хосты используют управляемый протокол (с отслеживанием состояния) для автоматической настройки другой (неадресной) информации. Использование этого флага описано в RFC 2462

    • AdvOnLink - Если задано, указывает, что этот префикс может использоваться для определения по ссылке. Если этот параметр не установлен, в рекламе не делается никаких заявлений о свойствах префикса "по ссылке" или "вне ссылки". Например, префикс может использоваться для настройки адреса, при этом некоторые адреса, принадлежащие префиксу, являются подключенными, а другие - отключенными

    • AdvAutonomous - Если задано, указывает, что этот префикс может использоваться для автономной настройки адреса, как указано в RFC 2462

    • AdvRouterAddr - Когда установлено, указывает, что адрес интерфейса отправляется вместо сетевого префикса, как того требует мобильный IPv6. При установке минимальные ограничения, указанные мобильным IPv6, используются для MinRtrAdvInterval и MaxRtrAdvInterval

Далее - необходимо перезапустить dhcpd6.service и запустить и добавить в автозагрузку radvd:

systemctl restart dhcpd6
systemctl enable --now radvd

HQ-SRV:

При помщи nmtui необходимо перевести состояние "IPv6 CONFIGURATION" - из "Automatic (DHCP-only)" в состояние "Automatic", также после деактивировать и активировать данный интерфейс

Проверяем:

  • IPv4:

  • IPv6: